/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ec.socialfun.datamanager;

import com.ec.socialfun.entidades.Ciudad;
import com.ec.socialfun.entidades.Evento;
import com.ec.socialfun.entidades.FormasDePago;
import com.ec.socialfun.entidades.Local;
import com.ec.socialfun.entidades.Pais;
import com.ec.socialfun.entidades.Sucursal;
import com.ec.socialfun.enumeradores.CargaImagenesLocalEnum;
import com.ec.socialfun.util.AdministracionLocal;
import com.ec.socialfun.util.Archivo;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;

/**
 *
 * @author jorge
 */
@ManagedBean
@SessionScoped
public class AdministracionLocalDataManager implements Serializable {

    private AdministracionLocal administracionLocal = new AdministracionLocal();
    private Sucursal sucursal;
    private int tabActivo = 0;
    private Pais pais = new Pais();
    private Ciudad ciudad = new Ciudad();
    private List<Evento> listaEventos = new ArrayList<Evento>();
    private Evento evento;
    private List<FormasDePago> listaTarjetas = new ArrayList<FormasDePago>();
    private FormasDePago formasDePago;
    private Archivo archivo = new Archivo();
    private Local local;
    private String codigoCargaImagen;
    private String rutaImagenGaleriaCargada;
    private boolean referenciaAImagenes;
    private InputStream inputStreamsImagenLocal;
    private InputStream inputStreamsImagenTemporal;
    private InputStream[] inputStreams = new InputStream[CargaImagenesLocalEnum.values().length];
    private FormasDePago formaDePagoSeleccionada;
    private String estadoFormaPago;

    public String getEstadoFormaPago() {
        return estadoFormaPago;
    }

    public void setEstadoFormaPago(String estadoFormaPago) {
        this.estadoFormaPago = estadoFormaPago;
    }

    public FormasDePago getFormaDePagoSeleccionada() {
        return formaDePagoSeleccionada;
    }

    public void setFormaDePagoSeleccionada(FormasDePago formaDePagoSeleccionada) {
        this.formaDePagoSeleccionada = formaDePagoSeleccionada;
    }

    public InputStream[] getInputStreams() {
        return inputStreams;
    }

    public void setInputStreams(InputStream[] inputStreams) {
        this.inputStreams = inputStreams;
    }

    public StreamedContent getImagenUno() throws FileNotFoundException {
        if (this.getInputStreams()[0] == null) {
            return null;
        }
        return new DefaultStreamedContent(this.getInputStreams()[0]);
    }

    public StreamedContent getImagenDos() throws FileNotFoundException {
        if (this.getInputStreams()[1] == null) {
            return null;
        }
        return new DefaultStreamedContent(this.getInputStreams()[1]);
    }

    public StreamedContent getImagenTres() throws FileNotFoundException {
        if (this.getInputStreams()[2] == null) {
            return null;
        }
        return new DefaultStreamedContent(this.getInputStreams()[2]);
    }

    public StreamedContent getImagenCuatro() throws FileNotFoundException {
        if (this.getInputStreams()[3] == null) {
            return null;
        }
        return new DefaultStreamedContent(this.getInputStreams()[3]);
    }

    public InputStream getInputStreamsImagenTemporal() {
        return inputStreamsImagenTemporal;
    }

    public void setInputStreamsImagenTemporal(InputStream inputStreamsImagenTemporal) {
        this.inputStreamsImagenTemporal = inputStreamsImagenTemporal;
    }

    public InputStream getInputStreamsImagenLocal() {
        return inputStreamsImagenLocal;
    }

    public void setInputStreamsImagenLocal(InputStream inputStreamsImagenLocal) {
        this.inputStreamsImagenLocal = inputStreamsImagenLocal;
    }

    public StreamedContent getImagenLocal() throws FileNotFoundException {
        if (this.inputStreamsImagenLocal == null) {
            return null;
        }
        return new DefaultStreamedContent(inputStreamsImagenLocal);
    }

    public StreamedContent getImagenTemporal() throws FileNotFoundException {
        if (this.inputStreamsImagenTemporal == null) {
            return null;
        }
        return new DefaultStreamedContent(inputStreamsImagenTemporal);
    }

    public boolean isReferenciaAImagenes() {
        return referenciaAImagenes;
    }

    public void setReferenciaAImagenes(boolean referenciaAImagenes) {
        this.referenciaAImagenes = referenciaAImagenes;
    }

    public String getRutaImagenGaleriaCargada() {
        return rutaImagenGaleriaCargada;
    }

    public void setRutaImagenGaleriaCargada(String rutaImagenGaleriaCargada) {
        this.rutaImagenGaleriaCargada = rutaImagenGaleriaCargada;
    }

    public String getCodigoCargaImagen() {
        return codigoCargaImagen;
    }

    public void setCodigoCargaImagen(String codigoCargaImagen) {
        this.codigoCargaImagen = codigoCargaImagen;
    }

    public Local getLocal() {
        return local;
    }

    public void setLocal(Local local) {
        this.local = local;
    }

    public Archivo getArchivo() {
        return archivo;
    }

    public void setArchivo(Archivo archivo) {
        this.archivo = archivo;
    }

    /**
     * Creates a new instance of AdministracionLocalDataManager
     */
    public AdministracionLocalDataManager() {
    }

    public AdministracionLocal getAdministracionLocal() {
        return administracionLocal;
    }

    public void setAdministracionLocal(AdministracionLocal administracionLocal) {
        this.administracionLocal = administracionLocal;
    }

    public Sucursal getSucursal() {
        return sucursal;
    }

    public void setSucursal(Sucursal sucursal) {
        this.sucursal = sucursal;
    }

    public int getTabActivo() {
        return tabActivo;
    }

    public void setTabActivo(int tabActivo) {
        this.tabActivo = tabActivo;
    }

    public Pais getPais() {
        return pais;
    }

    public void setPais(Pais pais) {
        this.pais = pais;
    }

    public Ciudad getCiudad() {
        return ciudad;
    }

    public void setCiudad(Ciudad ciudad) {
        this.ciudad = ciudad;
    }

    public List<Evento> getListaEventos() {
        return listaEventos;
    }

    public void setListaEventos(List<Evento> listaEventos) {
        this.listaEventos = listaEventos;
    }

    public Evento getEvento() {
        return evento;
    }

    public void setEvento(Evento evento) {
        this.evento = evento;
    }

    public FormasDePago getFormasDePago() {
        return formasDePago;
    }

    public void setFormasDePago(FormasDePago formasDePago) {
        this.formasDePago = formasDePago;
    }

    public List<FormasDePago> getListaTarjetas() {
        return listaTarjetas;
    }

    public void setListaTarjetas(List<FormasDePago> listaTarjetas) {
        this.listaTarjetas = listaTarjetas;
    }
}
